package com.developer.logic.modulo.equipos;

import java.util.List;

import com.developer.logic.modulo.equipos.dto.Equipo;
import com.developer.logic.modulo.equipos.dto.Jugador;
import com.developer.persistence.modulo.equipos.EquipoControllerDB;

public class EquipoServicio {
	
	private static EquipoServicio instance;
	
	public static EquipoServicio getInstance() {
		if (instance == null) {
			instance = new EquipoServicio();
		}
		
		return instance;
	}
			
	public List<Equipo> getEquipos(){
		
		EquipoControllerDB controllerDB = EquipoControllerDB.getInstance();
		List<Equipo> listaEquipos = controllerDB.getEquipos();
		
		if(listaEquipos!=null && listaEquipos.size()>0){
			
			for (Equipo equipo : listaEquipos) {
				completarInformacionEquipo(equipo);
			
			}
			
		}
		
		return listaEquipos;
	}
	
	public List<Equipo> getEquiposActivos(){
		
		EquipoControllerDB controllerDB = EquipoControllerDB.getInstance();
		List<Equipo> listaEquipos = controllerDB.getEquiposActivos();
		
		if(listaEquipos!=null && listaEquipos.size()>0){
			
			for (Equipo equipo : listaEquipos) {
				completarInformacionEquipo(equipo);
			
			}
			
		}
		
		return listaEquipos;
	}
	
	
	
	public Equipo getEquipo(Long equipo){
		
		EquipoControllerDB controllerDB = EquipoControllerDB.getInstance();
		Equipo equipoConsultado = controllerDB.getEquipo(equipo);
		
		if(equipoConsultado!=null){
			completarInformacionEquipo(equipoConsultado);
		}
		
		return equipoConsultado;
		
		
		
	}
	
	
	
	private void completarInformacionEquipo(Equipo equipo){
		
		EquipoControllerDB controllerDB = EquipoControllerDB.getInstance();
		List<Jugador> jugadores = controllerDB.getJugadoresPorEquipo(equipo);
		equipo.setJugadores(jugadores);
		
		
		
	}
	
	

}
